package com.dt.dubai.core.qrcode.controller;


import com.dt.dubai.core.qrcode.ZXing.QRCodeUtils;
import com.dt.dubai.core.qrcode.ZXing.ZXingCode;
import org.springframework.web.bind.annotation.*;
import java.io.File;


/**
 * 生成二维码(
 */


@RestController
@RequestMapping("/QRCodeController")
public class QRCodeController {

    /**
     * 生成二维码(内嵌LOGO)
     *
     * @param content      内容
     * @param imgPath      logo地址
     * @param destPath     存放目录
     * @param needCompress 是否压缩logo
     * @throws Exception
     */
    @GetMapping("/encode")
    @ResponseBody
    public void encode(String content, String imgPath, String destPath, boolean needCompress) throws Exception {
        QRCodeUtils.encode(content, imgPath, destPath, needCompress);
    }

    /**
     * 生成二维码，无内嵌logo
     *
     * @param content      内容
     * @param destPath     存储地址
     * @param needCompress 是否压缩LOGO
     * @throws Exception
     */
    @GetMapping("/encode1")
    @ResponseBody
    public void encode(String content, String destPath, boolean needCompress) throws Exception {
        QRCodeUtils.encode(content, destPath, needCompress);
    }

    /**
     * 生成二维码(内嵌LOGO)，下方带文本
     *
     * @param logoFile    logo文件地址
     * @param codeFile    存储地址
     * @param qrUrl 二维码显示地址
     * @param note  二维码下方文本
     */
    @GetMapping("/drawLogoQRCode")
    @ResponseBody
    public void drawLogoQRCode(@RequestParam("logoFile") File logoFile, @RequestParam("codeFile") File codeFile, String qrUrl, String note) {
        ZXingCode.drawLogoQRCode(logoFile,codeFile,qrUrl,note);
    }
}